COBOL-এ Embedded SQL (SQL statements embedded in COBOL) ব্যবহার করে ডেটাবেসে সংযুক্তি, ডেটা পড়া, আপডেট, যোগ এবং মুছতে সাহায্য করে। Embedded SQL একটি প্রোগ্রামিং পদ্ধতি যা SQL কোডকে COBOL প্রোগ্রামের মধ্যে একত্রিত করে, যার মাধ্যমে COBOL-এ ডেটাবেস ম্যানিপুলেশন করা সম্ভব হয়। এটি ডেটাবেসের সাথে যোগাযোগ করার জন্য SQL ব্যবহারের সুবিধা প্রদান করে, যেখানে আপনি কোডের মধ্যে SQL কোড লিখে ডেটাবেস অপারেশন করতে পারেন।
COBOL প্রোগ্রামের মধ্যে SQL স্টেটমেন্টগুলো একটি নির্দিষ্ট ব্লকে লেখা হয়, যা EXEC SQL ব্লকের মধ্যে থাকে। COBOL প্রোগ্রামে SQL কমান্ড চালাতে EXEC SQL
এবং END-EXEC
এর মধ্যে SQL কোড লেখা হয়।
EXEC SQL
SQL-STATEMENT
END-EXEC.
এখানে:
SQL-STATEMENT
: এটি SQL এর কোন কমান্ড যেমন SELECT
, INSERT
, UPDATE
, DELETE
ইত্যাদি হতে পারে।EXEC SQL
SELECT CUSTOMER_NAME
INTO :CUSTOMER-NAME
FROM CUSTOMER
WHERE CUSTOMER_ID = :CUSTOMER-ID
END-EXEC.
ব্যাখ্যা:
SELECT
স্টেটমেন্টটি ব্যবহার করা হয়েছে, যা CUSTOMER
টেবিল থেকে CUSTOMER_NAME
কলামটি সিলেক্ট করবে এবং তা COBOL প্রোগ্রামের CUSTOMER-NAME
ভেরিয়েবলে ধারণ করবে।:CUSTOMER-ID
হল প্রোগ্রাম থেকে পাওয়া ইনপুট, যা WHERE ক্লজের মধ্যে ডেটা সিলেক্ট করতে ব্যবহার করা হয়েছে।EXEC SQL
INSERT INTO CUSTOMER (CUSTOMER_ID, CUSTOMER_NAME)
VALUES (:CUSTOMER-ID, :CUSTOMER-NAME)
END-EXEC.
ব্যাখ্যা:
INSERT INTO
SQL স্টেটমেন্ট ব্যবহার করা হয়েছে, যা CUSTOMER
টেবিলের মধ্যে CUSTOMER_ID
এবং CUSTOMER_NAME
ইনসার্ট করবে। COBOL ভেরিয়েবলগুলি (:CUSTOMER-ID
, :CUSTOMER-NAME
) ডেটাবেস টেবিলে ইনপুট হিসাবে ব্যবহৃত হবে।EXEC SQL
UPDATE CUSTOMER
SET CUSTOMER_NAME = :NEW-CUSTOMER-NAME
WHERE CUSTOMER_ID = :CUSTOMER-ID
END-EXEC.
ব্যাখ্যা:
UPDATE
স্টেটমেন্টটি ব্যবহার করে, এই কোডে CUSTOMER
টেবিলের একটি রেকর্ড আপডেট করা হচ্ছে। যেখান CUSTOMER_ID
এর মান :CUSTOMER-ID
এর সমান হবে, সেখানে CUSTOMER_NAME
আপডেট হবে।EXEC SQL
DELETE FROM CUSTOMER
WHERE CUSTOMER_ID = :CUSTOMER-ID
END-EXEC.
ব্যাখ্যা:
DELETE
স্টেটমেন্টটি ব্যবহার করে CUSTOMER
টেবিল থেকে একটি নির্দিষ্ট CUSTOMER_ID
এর রেকর্ড মুছে ফেলা হচ্ছে।COBOL-এ SQL স্টেটমেন্ট কার্যকর করার পর, SQLCA (SQL Communication Area) ডেটাবেস অপারেশনের ফলাফল ধারণ করে। এটি COBOL রেকর্ড যা SQL অপারেশনের অবস্থা এবং ত্রুটি কোড সরবরাহ করে।
01 SQLCA.
05 SQLCODE PIC S9(9) COMP.
05 SQLERRM PIC X(70).
0
হয়, তবে অপারেশন সফলভাবে সম্পন্ন হয়েছে। অন্যথায়, এটি ত্রুটি কোড ধারণ করে।EXEC SQL
SELECT CUSTOMER_NAME
INTO :CUSTOMER-NAME
FROM CUSTOMER
WHERE CUSTOMER_ID = :CUSTOMER-ID
END-EXEC.
IF SQLCODE = 0
DISPLAY 'Record found: ' CUSTOMER-NAME
ELSE
DISPLAY 'Error: ' SQLERRM
END-IF.
ব্যাখ্যা:
SQLCODE
চেক করা হচ্ছে যদি এটি 0
হয়, তাহলে এটি সফল অপারেশন, অন্যথায় ত্রুটির বার্তা SQLERRM
প্রদর্শিত হবে।EXEC SQL
এবং END-EXEC
ব্লকের মধ্যে লিখতে হয়, যাতে COBOL এবং SQL কোডের মধ্যে বিভাজন সঠিক থাকে।EXEC SQL
এবং END-EXEC
স্টেটমেন্টের মধ্যে SQL কোড লিখে ডেটাবেসের উপর বিভিন্ন অপারেশন করা যায়।Embedded SQL-এর মাধ্যমে COBOL প্রোগ্রামে ডেটাবেস অ্যাক্সেস করা প্রোগ্রামারদের জন্য দ্রুত এবং দক্ষ ডেটাবেস পরিচালনার সুবিধা প্রদান করে।
common.read_more